#include <fstream>

#include "../lib/nlohmann/json.hpp"

#ifndef _JSON_READER_HPP_
#define _JSON_READER_HPP_

namespace alexcr4ckpentest
{
  class JsonReader final
  {
  public:
    JsonReader() noexcept;
    JsonReader(const std::string& filename);

    JsonReader(const JsonReader&) = delete;
    JsonReader(JsonReader&&) = delete;
    JsonReader& operator=(const JsonReader&) = delete;
    JsonReader& operator=(JsonReader&) = delete;

    void set_filename(const std::string& new_filename);
    nlohmann::json read();

  private:
    std::string m_filename;
    std::ifstream m_in_file_stream;
  };
} // namespace alex

#endif // _JSON_READER_HPP_
